package day06;

import java.util.Random;
import java.util.Scanner;

//方法演示
public class MethodDemo {
    public static void main(String[] args) {
        /*sayHello();
        sayHello();
        System.out.println("over!");
        Random random=new Random();
        int max=getmax(random.nextInt(100), random.nextInt(100));
        System.out.println("max="+max);
        System.out.println("_______________________");
        say1("张三",18);
        say1("LLLLl",9);
        say2("李四");
        System.out.println("_______________________");
        int sum=sum(random.nextInt(10),random.nextInt(10));
        System.out.println("sum="+sum);
        System.out.println("_______________________");
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入一个整数a:");
        int a=scanner.nextInt();
        System.out.println("请输入一个整数b:");
        int b=scanner.nextInt();
        int c=sum(a,b);
        System.out.println("c="+c);
        System.out.println("_______________________");
        int [] arr=generateArray(8,8);
        System.out.println(arr.length);//模拟输出数组的长度
        System.out.println(arr[0]);//模拟输出数组的第一个元素
        for (int i=0;i<arr.length;i++){
            System.out.print(arr[i]+"\t");
        }*/
        say();//自动绑定
        say("yegei");//方法的重载,指相同的方法名称，参数个数或者参数类型不同
        say("name",108);
    }
    //无参无返回值sayHello方法
    public static void say(){
        System.out.println("hello");
    }
    //有参有返回值getmax方法
    public static int getmax(int a,int b){
        int max = a>b?a:b;
        return max;
    }
    //有参无返回值say1方法
    public static void say(String name,int age){
        if (age<18){
            return;
        }
        System.out.println("name="+name+",age="+age);
    }
    //有参无返回值say2方法
    public static void say(String name){
        System.out.println("say2 name:"+name+"固定年龄不变的永恒的18岁");
    }
    public static void say(boolean flag){
        System.out.println("say name:"+flag);
    }
    public static void say(int a){};
    //public static int say(){return 1;};//方法重载与方法返回值类型无关，跟方法签名有关
    //方法签名：方法名称+方法参数列表

    //有参有返回值sum方法
    public static int sum(int a,int b){
        return a+b;//返回的是a与b的和
        //int sum=a+b;
        //return sum;//返回的是num中的那个数
    }
    //生成随机数组的方法
    public static int[] generateArray(int n,int m){
        Random random=new Random();
        int[] arr=new int[n];
        for (int i=0;i<arr.length;i++){
            arr[i]=random.nextInt(m+1);//包括m
        }
        return arr;
    }
}
